package com.ruoyi.datastatistics.service;

import java.math.BigDecimal;
import java.util.List;
import com.ruoyi.datastatistics.domain.PublicShareReport;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * 公摊报表Service接口
 *
 * @author zt
 * @date 2025-05-27
 */
public interface IPublicShareReportService extends IService<PublicShareReport>
{
    /**
     * 查询公摊报表
     *
     * @param id 公摊报表主键
     * @return 公摊报表
     */
    public PublicShareReport selectPublicShareReportById(Long id);

    /**
     * 查询公摊报表列表
     *
     * @param publicShareReport 公摊报表
     * @return 公摊报表集合
     */
    public List<PublicShareReport> selectPublicShareReportList(PublicShareReport publicShareReport);

    /**
     * 新增公摊报表
     *
     * @param publicShareReport 公摊报表
     * @return 结果
     */
    public int insertPublicShareReport(PublicShareReport publicShareReport);


    /**
     * 新增公摊-水用量（生产）
     * @return
     */
    int insertPublicShareReportForWaterTerminals(String frequencyType, String month, String freezeTime,String userId);

    /**
     * 新增公摊-电用量（生产）
     * @return
     */
    int insertPublicShareReportForElectricityTerminals(String frequencyType, String month, String freezeTime,String userId);

    /**
     * 修改公摊报表
     *
     * @param publicShareReport 公摊报表
     * @return 结果
     */
    public int updatePublicShareReport(PublicShareReport publicShareReport);

    /**
     * 批量删除公摊报表
     *
     * @param ids 需要删除的公摊报表主键集合
     * @return 结果
     */
    public int deletePublicShareReportByIds(Long[] ids);

    /**
     * 删除公摊报表信息
     *
     * @param id 公摊报表主键
     * @return 结果
     */
    public int deletePublicShareReportById(Long id);

    List<PublicShareReport> selectTotalReportList(PublicShareReport publicShareReport);

    List<PublicShareReport> selectProductReportList(PublicShareReport publicShareReport);
    BigDecimal selectProductReportListSum(PublicShareReport publicShareReport);
}
